package systemService

import (
	"baize/app/business/system/systemModels"
	"github.com/gin-gonic/gin"
)

type IDictService interface {
	SelectDictTypeList(c *gin.Context, dictType *systemModels.SysDictTypeDQL) (list []*systemModels.SysDictType, count int64)
	ExportDictType(c *gin.Context, dictType *systemModels.SysDictTypeDQL) (data []byte)
	SelectDictTypeById(c *gin.Context, dictId int64) (dictType *systemModels.SysDictType)
	SelectDictTypesByIds(c *gin.Context, dictId []int64) (dictTypes []string)
	InsertDictType(c *gin.Context, dictType *systemModels.SysDictType)
	UpdateDictType(c *gin.Context, dictType *systemModels.SysDictType)
	DeleteDictTypeByIds(c *gin.Context, dictIds []int64)
	CheckDictTypeUnique(c *gin.Context, id int64, dictType string) bool
	DictTypeClearCache(c *gin.Context)
	SelectDictTypeAll(c *gin.Context) (list []*systemModels.SysDictType)
	SelectDictDataByType(c *gin.Context, dictType string) (data []byte)
	SelectDictDataList(c *gin.Context, dictData *systemModels.SysDictDataDQL) (list []*systemModels.SysDictData, count int64)
	ExportDictData(c *gin.Context, dictData *systemModels.SysDictDataDQL) (data []byte)
	SelectDictDataById(c *gin.Context, dictCode int64) (dictData *systemModels.SysDictData)
	InsertDictData(c *gin.Context, dictData *systemModels.SysDictData)
	UpdateDictData(c *gin.Context, dictData *systemModels.SysDictData)
	DeleteDictDataByIds(c *gin.Context, dictCodes []int64)
	CheckDictDataByTypes(c *gin.Context, dictType []string) bool
}
